package com.ins.model.entity;

import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Table;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 提现记录表 实体类。
 *
 * @author ins
 * @since 2024-05-14
 */
@EqualsAndHashCode(callSuper = true)
@Data
@Table(value = "app_withdraw_cash")
public class AppWithdrawCash extends BaseEntity<AppWithdrawCash> implements Serializable {

    @Serial
    private static final long serialVersionUID = -4200422464209773003L;
    /**
     * 申请用户uuid
     */
    @Column(value = "user_id")
    private Long userId;

    /**
     * 提现（渠道）方式 1银行转账
     */
    @Column(value = "withdraw_way")
    private Integer withdrawWay;

    /**
     * 处理状态。 1发起申请（待审核理）前台显示处理中，2提现成功，3审核不通过
     */
    @Column(value = "withdraw_status")
    private Integer withdrawStatus;

    /**
     * 提现单号
     */
    @Column(value = "no")
    private String no;

    /**
     * 收款账户
     */
    @Column(value = "receivable_account")
    private String receivableAccount;

    /**
     * 收款人姓名
     */
    @Column(value = "name")
    private String name;

    /**
     * 开户行地址
     */
    @Column(value = "address")
    private String address;

    /**
     * 提现金额
     */
    @Column(value = "withdraw_fee")
    private BigDecimal withdrawFee;

    /**
     * 审核不通过原因
     */
    @Column(value = "content")
    private String content;

    /**
     * 审核人
     */
    @Column(value = "verify_user")
    private String verifyUser;

    /**
     * 操作人
     */
    @Column(value = "action_user")
    private String actionUser;

    /**
     * 审核时间
     */
    @Column(value = "action_at")
    private LocalDateTime actionAt;

    /**
     * 发送通知时间
     */
    @Column(value = "sent_notice_at")
    private LocalDateTime sentNoticeAt;


}
